<?php
// +----------------------------------------------------------------------
// | 萤火商城系统 [ 致力于通过产品和服务，帮助商家高效化开拓市场 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2017~2024 https://www.yiovo.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed 这不是一个自由软件，不允许对程序代码以任何形式任何目的的再发行
// +----------------------------------------------------------------------
// | Author: 萤火科技 <admin@yiovo.com>
// +----------------------------------------------------------------------
declare (strict_types = 1);

namespace app\store\model\jia;

use app\common\model\jia\Works as WorksModel;

/**
 * 文章分类模型
 * Class Category
 * @package app\store\model\article
 */
class Works extends WorksModel
{

    /**
     * 添加新记录
     * @param array $data
     * @return bool
     */
    public function add(array $data): bool
    {

        // 保存记录
        $data['store_id'] = self::$storeId;
        if (isset($data['tag'])) {
        } else {
            $data['tag'] = '';
        }

        $this->save($data);

        return true;
    }

    public function getList(array $param = []): \think\Paginator
    {
        // 查询参数
        $params = $this->setQueryDefaultValue($param, [
            'title'    => '', // 文章标题
            'manageId' => 0,  // 文章分类id
            'status'   => -1, // 文章状态
        ]);
        // 检索查询条件
        $filter = [];
        // 文章标题
        ! empty($params['title']) && $filter[] = ['name', 'like', "%{$params['title']}%"];

        $params['manageId'] > 0 && $filter[] = ['manage_id', '=', $params['manageId']];
        // 文章状态
        $params['status'] > -1 && $filter[] = ['status', '=', $params['status']];
        // 查询列表数据
        $data = $this->with(['image'])
            ->where($filter)
            ->where('is_delete', '=', 0)
            ->order(['sort' => 'asc'])
            ->paginate(15);

        return $data;
    }
    public function getListAll(array $param = [])
    {

        // 查询列表数据
        $data = $this

            ->where('is_delete', '=', 0)
            ->field('*,name as label,works_id as value')
            ->order(['sort' => 'asc'])

            ->select()->toArray();

        return $data;
    }
    /**
     * 编辑记录
     * @param array $data
     * @return bool
     */
    public function edit(array $data): bool
    {

        if (isset($data['tag'])) {
        } else {
            $data['tag'] = '';
        }

        // 保存记录
        return $this->save($data);
    }

    /**
     * 删除商品分类
     * @param int $categoryId
     * @return bool
     */
    public function remove($id)
    {

        // 删除记录
        return $this->where('works_id', $id)->delete();
    }
}
